case ${action} in
    'pack') pack; ;;
    'collect') collect; ;;

    'unpack') unpack; ;;
    'unpackForce') unpackForce; ;;
    'todo') todo; ;;
    'undo') undo; ;;
    'redo') redo; ;;

    'backup')       backup  ; ;;
    'backupConfig') backup 0; ;;
    'update')            update ; ;;
    'updateForce')       update _ _ 0; ;;
    'updateConfig')      update _ 0  ; ;;
    'updateConfigForce') update _ 0 0; ;;
    'init')              update 0    ; ;;
    'initForce')         update 0 _ 0; ;;
    'initConfig')        update 0 0  ; ;;
    'initConfigForce')   update 0 0 0; ;;
    'rollback')            rollback    ; ;;
    'rollbackConfig')      rollback _ 0; ;;
    'rollbackForce')       rollback 0  ; ;;
    'rollbackConfigForce') rollback 0 0; ;;

    'sshSend') sshCheck;      sshSend  ; ;;
    'sshSendForce') sshCheck; sshSend 0; ;;

    'sshUnpack') sshCheck; sshUnpack; ;;
    'sshUnpackForce') sshCheck; sshUnpackForce; ;;
    'sshTodo') sshCheck; sshTodo; ;;
    'sshUndo') sshCheck; sshUndo; ;;
    'sshRedo') sshCheck; sshRedo; ;;

    'sshBackup')              sshCheck; sshBackup  ; ;;
    'sshBackupConfig')        sshCheck; sshBackup 0; ;;
    'sshUpdate')              sshCheck; sshUpdate ; ;;
    'sshUpdateForce')         sshCheck; sshUpdate _ _ 0; ;;
    'sshUpdateConfig')        sshCheck; sshUpdate _ 0  ; ;;
    'sshUpdateConfigForce')   sshCheck; sshUpdate _ 0 0; ;;
    'sshInit')                sshCheck; sshUpdate 0    ; ;;
    'sshInitForce')           sshCheck; sshUpdate 0 _ 0; ;;
    'sshInitConfig')          sshCheck; sshUpdate 0 0  ; ;;
    'sshInitConfigForce')     sshCheck; sshUpdate 0 0 0; ;;
    'sshRollback')            sshCheck; sshRollback    ; ;;
    'sshRollbackConfig')      sshCheck; sshRollback _ 0; ;;
    'sshRollbackForce')       sshCheck; sshRollback 0  ; ;;
    'sshRollbackConfigForce') sshCheck; sshRollback 0 0; ;;

    *) logger "Unknown action ${action}".;  exit 1; ;;
esac